Wireless data communication networks, such as those comprising devices conformant to IEEE 802.11 standards, generally feature nodes equipped with a single wireless LAN (WLAN) card containing a single radio transceiver. The performance scalability of multi-hop IEEE 802.11 WLANs has been limited by low network capacity. End-to-end throughput decreases as node density and the number of network hops increases. Low capacity has been an obstacle in the deployment of such networks, despite their many beneficial uses. For example, wireless community mesh networks allow neighbors to share a fast and inexpensive Internet gateway and to take advantage of locally-distributed applications, data and storage.
There are many factors that contribute to the poor scalability of multi-hop IEEE 802.11 wireless LANs. One reason for the poor scalability of 802.11 multi-hop wireless networks is that a conventional WLAN radio cannot transmit and receive data at the same time. This particularly limits scalability in multi-hop networks, in which a node may act to forward data from a source node to a destination node. In such a network the capacity of nodes that forward data is half of what it would be if simultaneous reception and transmission were possible.
In 802.11-conformant wireless networks, scalability is further limited by the use of suboptimal backoff algorithms in both Medium Access Control (MAC) and transport-layer protocols. Additionally, 802.11-compliant WLAN radios do not use the entire available frequency spectrum, operating instead over a small portion of the spectrum (a “channel”). Although multiple non-interfering (“orthogonal”) channels are available, the 802.11 physical (PHY) layer is designed to use only a single channel at any given time. Furthermore, in 802.11 ad hoc networks scalability is limited because all nodes in a given LAN operate on the same channel.
Yet another limit to scalability is caused by the way in which the 802.11 MAC handles the hidden terminal problem. Under the 802.11 MAC specification, a data transmission is preceded by an exchange of Request to Send (RTS) and Clear to Send (CTS) frames. All nodes that are within range of either the sender or the receiver are required to be silent during the data transmission. Similar conditions are present under most other proposed and implemented wireless network MAC protocols to combat the hidden terminal problem.
In infrastructure-based WLANs, additional network capacity can be obtained by dividing the physical space into “cells” and operating neighboring cells on orthogonal channels. Such a solution is inapplicable to multi-hop wireless networks, however. If a first wireless node chooses a channel that is orthogonal to the channel chosen by one of its neighbors, then these neighboring nodes will not be able to communicate with one another. (In this specification and in the accompanying claims, unless context indicates otherwise, a first node is a neighbor node or neighboring node with respect to a second node if the first node is within communicating range of one or more transceivers located on the second node.)
Dynamic channel-switching by single-radio nodes is not yet a practical solution to the capacity problem. Under the current state of the art, dynamic channel switching could reintroduce the hidden terminal problem: a node might miss an RTS/CTS exchange on one channel while listening on another channel. The introduction of dynamic switching necessitates some means of coordinating communication nodes with respect to a common channel. Such coordination is difficult to achieve without another communication channel or over-restrictive pre-negotiated schedules. Moreover, the delay associated with switching channels tends to be on the order of hundreds of milliseconds, which would itself lead to a substantial degradation in performance. Another relatively impractical solution is to design a new MAC protocol. This would require extensive changes to existing WLAN standards and the development of new hardware. Multi-hop wireless networks therefore have generally operated on the basis of one radio per node and one channel per node, limiting the achievable bandwidth for such networks.
The invention described herein enables a wireless network node to make full use of the available frequency spectrum by having two or more radios tuned to orthogonal channels. Striping is one possible approach to exploiting multiple radios per network node. However, proposals for the striping of network traffic over multiple network interfaces per network node do not provide a satisfactory solution to the capacity problems of wireless networks. Most striping proposals are designed for networks that can be assumed to be wired and single-hop. Striping proposals typically require changes to existing application, transport, and routing protocols. Some striping proposals are associated with worsened performance and reduced aggregate bandwidth. When striping is used with the TCP transport protocol, sending multiple packets of the same data stream over different channels increases the likelihood of out-of-order arrival of packets, which may be interpreted by TCP as a sign of packet loss, resulting in an adjustment of the TCP congestion window. Striping proposals generally do not work in networks that include heterogeneous nodes (some with multiple network interfaces and some with a single network interface card), a practical obstacle to incremental deployment.